package com.aspose.cells;

class zaat {
   public static zaye a(zaay var0, char[] var1, int var2, int var3) {
      boolean var4 = var1[var2] == '$';
      if (var4) {
         ++var2;
      }

      if (var2 >= var3) {
         return null;
      } else {
         int var5 = 0;
         int var6 = var0.p.h() + 1;

         char var7;
         for(var7 = Character.toUpperCase(var1[var2]); var7 >= 'A' && var7 <= 'Z'; var7 = Character.toUpperCase(var1[var2])) {
            var5 = var5 * 26 + var7 - 65 + 1;
            if (var5 > var6) {
               return null;
            }

            ++var2;
            if (var2 >= var3) {
               zaye var8 = new zaye();
               var8.a(-1);
               var8.b(var5 - 1);
               var8.b(var4);
               var8.d(var8.d());
               var8.d(var4);
               return var8;
            }
         }

         --var5;
         boolean var12;
         if (var5 < 0) {
            var12 = var4;
         } else {
            var12 = var1[var2] == '$';
            if (var12) {
               ++var2;
               if (var2 >= var3) {
                  return null;
               }
            }
         }

         int var9 = 0;
         int var10 = var0.p.g() + 1;

         for(var7 = Character.toUpperCase(var1[var2]); var7 >= '0' && var7 <= '9'; var7 = Character.toUpperCase(var1[var2])) {
            var9 = var9 * 10 + var7 - 48;
            if (var9 > var10) {
               return null;
            }

            ++var2;
            if (var2 >= var3) {
               if (var9 < 1) {
                  return null;
               }

               zaye var11 = new zaye();
               var11.b(var5);
               var11.b(var4);
               var11.a(var9 - 1);
               var11.a(var12);
               var11.d(var11.d());
               var11.d(var4);
               var11.c(var11.b());
               var11.c(var12);
               return var11;
            }
         }

         return null;
      }
   }

   public static zaye b(zaay var0, char[] var1, int var2, int var3) {
      int var4 = -1;
      int var5 = -1;
      boolean var6 = false;
      boolean var7 = false;
      boolean var8 = false;
      boolean var9 = false;
      boolean var10 = true;
      boolean var11 = false;
      int var12 = 0;
      boolean var13 = true;
      byte var14;
      byte var15;
      if (var0.p.u) {
         var14 = 90;
         var15 = 83;
      } else {
         var14 = 82;
         var15 = 67;
      }

      for(int var16 = var2; var16 < var3; ++var16) {
         char var17 = Character.toUpperCase(var1[var16]);
         switch(var17) {
         case '-':
            var11 = true;
            break;
         case '.':
         case '/':
         case ':':
         case ';':
         case '<':
         case '=':
         case '>':
         case '?':
         case '@':
         case 'A':
         case 'B':
         case 'D':
         case 'E':
         case 'F':
         case 'G':
         case 'H':
         case 'I':
         case 'J':
         case 'K':
         case 'L':
         case 'M':
         case 'N':
         case 'O':
         case 'P':
         case 'Q':
         case 'T':
         case 'U':
         case 'V':
         case 'W':
         case 'X':
         case 'Y':
         case '\\':
         default:
            return null;
         case '0':
         case '1':
         case '2':
         case '3':
         case '4':
         case '5':
         case '6':
         case '7':
         case '8':
         case '9':
            var12 = var12 * 10 + var17 - 48;
            var13 = false;
            break;
         case 'C':
         case 'S':
            if (var17 != var15) {
               return null;
            }

            if (var9) {
               if (var13) {
                  var10 = false;
               }

               var6 = var10;
               if (var10) {
                  var4 = var12 - 1;
               } else {
                  var4 = var0.g + var12 * (var11 ? -1 : 1);
               }

               if (var4 > var0.p.g()) {
                  return null;
               }

               var10 = true;
               var12 = 0;
               var11 = false;
               var13 = true;
            }

            var8 = true;
            break;
         case 'R':
         case 'Z':
            if (var17 != var14) {
               return null;
            }

            if (var8) {
               return null;
            }

            var9 = true;
            break;
         case '[':
            var10 = false;
         case ']':
         }
      }

      if (var13) {
         var10 = false;
      }

      if (var8) {
         var7 = var10;
         if (var10) {
            var5 = var12 - 1;
         } else {
            var5 = var0.h + (var11 ? -var12 : var12);
         }

         if (var5 > var0.p.h()) {
            return null;
         }
      } else {
         if (!var9) {
            return null;
         }

         var6 = var10;
         if (var10) {
            var4 = var12 - 1;
         } else {
            var4 = var0.g + (var11 ? -var12 : var12);
         }

         if (var4 > var0.p.g()) {
            return null;
         }
      }

      zaye var18 = new zaye();
      var18.a(var4);
      if (var9) {
         var18.a(var6);
         var18.c(var4);
         var18.c(var6);
      }

      var18.b(var5);
      if (var8) {
         var18.b(var7);
         var18.d(var5);
         var18.d(var7);
      }

      return var18;
   }
}
